(1) Field of the Invention
The present invention relates to the field of computer controlled graphics display systems. More specifically, the present invention relates to retrieval systems for graphics processors, such as graphics processors that use graphics data stored in display lists.
(2) Prior Art
Graphics displays systems typically include a host system and a graphics subsystem (including a graphics hardware unit, e.g., a "graphics generation" circuit) which can include an information retrieval subsystem. The information retrieval subsystem interfaces with memory to retrieve graphics information for rendering onto a display screen or other visualization device. This graphics information is typically stored in one or more display lists in memory, however some systems do not use display lists. Display lists of prior art graphics systems are stored in memory, accessed and processed using a variety of different formats. Graphics information stored within a display list usually contains many graphics primitives (e.g., polygons, lines, points, etc.) and/or graphics commands.
One type of graphics display mode that does not use display lists is referred to as graphics "immediate mode." In this mode, a host processor within a graphics system transfers each rendering command and/or graphics primitive or image to the graphics hardware unit in real time as the host processor determines the command and/or graphics primitive. The immediate mode does not require storage space for the display list since there is no display list stored in memory. The immediate mode also offers a great deal of flexibility in allowing the displayed images to be altered because each image when displayed is totally generated on the fly. However, the immediate mode is disadvantageous because during graphics rendering, a large amount of attention is required of the host processor thereby reducing the level of parallelism that would be otherwise offered by the hardware graphics unit. What is needed is a system that offers flexibility in altering an image but does not require a great deal of host processor attention.
A common format for display lists to adopt is a simple contiguous serial listing of display elements (e.g., graphics primitives or commands). For instance, if a house were to be displayed, its display list would contain the following display elements: a roof, a door, windows, grass, a garage, etc. In this mode, these elements are stored in contiguous memory space within the house display list and to generate a house, the host processor informs the graphics hardware unit where to look for the house display list and then the graphics hardware unit independently processes the house display list to render an image of the house on a display screen.
Although this method does not require very much interaction with the host processor (thus freeing the processor for other tasks), the simple contiguous serial display list is not easily modifiable, not even for small changes in the display list. If one small change is to be made, the entire display list must be regenerated and stored in memory since all the contents of the display list are contiguous. What is needed is a display list format that does not require much host processor interaction, yet is readily modifiable.
Another display format that uses display lists is the scatter gather mode. In this example, a display list is composed of a number of different discontiguous segments that are all "tied" together using a scatter gather table. In order to generate the image represented by the display list, the host processor reads each entry of the scatter gather table and directs the graphics hardware unit to process the display list segment corresponding to the current entry. Although this method requires less host processor attention over the immediate mode, it still requires the host processor's attention to queue up each display list segment. For display lists having hundreds of different segments, this requires the host processor's attention at least 100 different times during the rendering of a single image.
Further, the scatter gather mode while readily modifiable in terms of replacing one display list segment for another, is not well suited for processing images having duplicated patterns (which are common place in graphics images). Specifically, if an image requires many duplicated display patterns, such as windows in a house image, the scatter gather method requires a separate set of entries in the house display list for each window. Further, the scatter gather method is not well suited for display lists that need to be altered in order to add duplication in certain display patterns (which is often required by graphics systems). For example, if the house image needs to be modified, e.g., to represent three houses of a neighborhood, all of the scatter gather entries of the house display list need to be replicated three times in memory to provide the neighborhood display list. What is needed is a display system that requires little host processor attention, is readily modifiable, but does not require the type of information replication and degree of computer memory resource usage required of the scatter gather display mode.
Accordingly, the present invention offers a display list system that is readily modifiable so that display lists of one image can be altered to generate other images. Further, the present invention offers a display list system that requires very little host processor attention for image rendering. The present invention also offers the above advantages without requiring information replication of the kind required by the scatter gather display modes. Lastly, the present invention offers a display list system that is consistent with the way in which graphics designers and graphics display systems construct and utilize graphics information for display. These and other advantages of the present invention not specifically described above will become clear within discussions of the present invention herein.